1. Field of the Invention
The present invention relates generally to computer graphics animation, and specifically to method and system for intelligent scalable animation with intelligent parallel processing engine and intelligent animation engine.
2. Description of the Related Art
Computer graphics animation is one of the most rapidly developing areas of computer technology. In the motion picture industry in particular, computer graphics animation technology, dubbed CGI (computer graphics imaging) by the industry, has had a profound impact on how movies are conceived and produced. One of the most recent application of graphics animation for motion picture production is crowd animation or simulation. Also known as digital extras, crowd simulation technology provides crowd-related visual effects by utilizing the computer graphics animation technology, eliminating the need to hire thousands of human extras to film large crowd scenes.
At present, crowd simulation solutions are provided by vendors such as Biographics Technologies or Softimage. The existing solutions, however, suffer from several significant shortcomings. One of the shortcomings, perhaps the most serious one, is that the existing crowd simulation solutions do not scale well. Existing products are self-contained, one-box solutions, where the animation software runs on a single computer system. Thus, in order to increase the performance of the system, the users must increase the performance capacity of the single computer system itself, which is limited by the state-of-the-art of available computing hardware. As a result, it is difficult to scale the performance—and thus the production output—of the existing crowd simulation products.
As well known in the art, one way to scale the performance of a computer system without being limited by hardware capacity of a single computing unit is to employ parallel processing by utilizing multiple processors or multiple computers. However, generic parallel processing techniques as known in the art are not always the most efficient method of scaling performance for animation in general and crowd simulation in particular due to the nature of computer graphics animation and crowd simulation. For example, in most crowd simulation animation frames, only a small portion of a particular frame contains graphics objects—such as the human characters—that are being animated. Much of the frames—such as the terrain or scenery—do not change much, if at all, in most cases. Thus, applying parallel processing techniques by brute force on entire frames is not an efficient use of computing resources, as much of the parallel processing goes to recreating or duplicating graphics that do not change at all. What is needed to provide proper performance scaling for animation and crowd simulation is a more intelligent approach to parallel processing that takes into account the inherent characteristics peculiar to computer graphics animation and crowd simulation tasks.
Another shortcoming of the existing crowd simulation technologies is that they provide only limited capabilities to make the animated characters or crowd appear realistic or intelligent. Existing solutions employ limited “intelligent” techniques such as fuzzy logic and rule-based animation state manipulation. However, since the task of making crowd appear more realistic and intelligent is essentially a task of emulating intelligent behavior, a more effective approach is to apply machine learning techniques such as the Neural Networks and/or genetic algorithm methods which are the state-of-the-art technologies for emulating intelligent behavior. Nevertheless, none of the existing crowd simulation solutions incorporates the state-of-the-art machine learning techniques at present.
It can be seen, then, there is a need in the field for a computer graphics animation and crowd simulation solution that incorporates intelligent parallel processing for proper scaling of performance as well as intelligent animation techniques for emulating intelligent behavior.